EKS Automode
개요
오토모드는 EKS에서 자체적으로 데이터플레인에 필요할 만한 핵심적인 세팅들을 직접 관리해주는 모드이다.
24년 기준 최근에 나온 방식으로, 컨트롤 플레인을 aws에서 관리하듯이 데이터 플레인의 운영도 거의 전적으로 aws에서 전담한다.
노드 오토스케일링, 로드 밸런싱, 스토리지 등의 운영 요소들을 자동으로 지원해준다.
알아서 스케일링도 해주니 클러스터 운용 지식이 적은 한편 aws에 전문 지식을 가진 집단에서, 혹인 어플리케이션 개발에 집중하는 집단에서 선택하기 좋다.
요 친구는 사용되는 인스턴스 당 비용이 추가적으로 발생한다.[1]
운영 효율성을 추구하는 대신 금전적인 감당은 해야 할 것이다.
(비용이 구체적으로 얼마나 나올지 계산이 잘 안 된다.)
배경
기존에 클러스터를 운영할 때는 VPC CNI, ALB Controller, AWS EBS CSI Driver 등 직접적으로 설치를 하고 관리해야 하는 애드온이 굉장히 많았다.
여기에 클러스터 오토스케일링이나 인스턴스의 버전 관리 등의 요소도 전부 사용자가 관리해야 하는 영역이었다.
그러나 이런 부분들은 실질적으로 eks를 사용하는데 있어 안 쓰는 케이스도 전무하다 싶기도 하고, 사용자가 운영하면서 실수가 날 수 있는 부분들이 종종 있었다.
이에 AWS에서 이런 부분까지도 통합적으로 관리하는 솔루션으로서 오토모드를 출시하게 된 것이다.
보다시피 컨트롤 플레인 관리 영역 뿐만 아니라, 위에서 언급한 다양한 부분들이 전부 aws의 관리 영역으로 들어간 채로 활용하는 것이 오토모드이다.
aws의 관리 영역이 늘어나는 만큼, 가격은 조금 더 비싸진다.
대신 그만큼 사용자의 책임 영역이 줄어들어 관리 소요가 줄어든다는 것은 무시할 수 없는 장점이다.
구조
(가시다님 공유 자료)
오토모드의 노드에는 이미 다양한 것들이 기본 프로세스로 돌아간다.
흔히 클러스터를 운영할 때 파드로 띄우던 것들을 그냥 기본 프로세스로 동작을 시켜서 클러스터를 운영하는 사용자 입장에서는 각각을 신경 쓸 필요가 없게 된다.
기능(내부 상세)
컴퓨팅
오토모드에서는 카펜터가 systemd로 작동하고 있다.
그래서 필요한 노드가 알아서 프로비저닝된다.
이때 기본 노드 풀로 두 가지를 제공하고 있다.
- General - 일반적인 사용 케이스에서 사용할 수 있는 노드풀
- System - 중요한 워크로드를 만들어야 할 때 사용하면 좋은 노드풀로, 테인트가 기본 걸려있다.
기본 제공된 템플릿 외에도, 사용자 지정 노드풀을 만들어서 사용해도 된다.
인스턴스
일단 사용되는 ami는 Bottlerocket으로, 기본적으로 컨테이너 환경에서 보안과 성능을 최적화한 인스턴스를 사용하게 된다.
일반적인 방법으로 SSH 노드 터미널조차 접속하는 것이 불가능한데, 그만큼 aws가 관리를 다 해주겠다는 포부가 보인다..!
(이것 때문에 노드 디버깅이 조금 어려워지는 효과가 있다..)
네트워크
네트워크 관련해서 기본적으로 제공해주는 것이 굉장히 많다.
아래의 것들이 기본적으로 systemd로 돌아가고 있다.
- Core DNS, kube-proxy
- VPC CNI 역시 그냥 돌아가고 있어서, 네트워크 관련은 거의 신경 쓸 필요가 없다.
- VPC CNI의 경우 접두사 위임과 보조 IP 대역 기능을 전부 제공한다.
- 추가적으로 Amazon VPC Lattice와 연동이 가능하다.
- ALB Controller
스토리지
- AWS EBS CSI Driver
- AWS EFS CSI Driver
- Amazon FSX 드라이버도 원한다면 직접 설치해서 사용하면 된다.
보안
-
pod identity
-
irsa
-
클러스터 인프라 환경
- 보틀로켓
- 자동 노드 버전 업데이트
-
컨테이너
추가로 활성화한 애드온은 오토 모드 클러스터 내에서만 활용 가능.
업그레이드
애드온 버전, 인스턴스가 알아서 적당히 업그레이드된다.
클러스터 버전에 맞춰 애드온이 알아서 업데이트되니 이리 편할 수가 없다.
다만 노드가 업그레이드 된다는 것은 달리 말하자면 노드가 교체된다는 것이다.
노드의 교체에 따른 운영 장애 최소화를 위해 PDB 같은 것을 설정해두는 것이 좋다.
오토모드에서는 노드의 만료 기간을 설정해두어 적절한 시간이 지나면 새로운 노드가 뜨고 기존 노드가 없어진다.
유의사항
기본적으로 오토모드에서 안 되는 것들이 있는데, 이것들을 유의할 필요가 있다.
- 파드 별 보안 그룹은 지원하지 않는다.
- VPC CNI의 커스텀 네트워킹, warm IP, 접두사 위임 관련 설정을 지원하지 않는다.
- 네트워크 폴리시의 컨트랙 커스텀을 지원하지 않는다.
마이그레이션 시
기본적으로 설정되는 애드온과 툴들의 api 그룹과 버전이 달라지기 때문에, 마이그레이션에는 주의가 필요하다.
오죽하면 새로 클러스터를 만드는 게 낫다는 말이 나오는 게 아니다.
이렇게 변화를 주어 더 번거롭게 하는 데에는, 사실 마이그레이션 상의 장애를 줄이고자 하는 목적이 크다.
기존에 카펜터를 활용하던 조직에서 갑자기 오토모드를 도입하게 되면 기존 노드들이 새로 깔린 카펜터에 의해 관리되어버리는 불상사가 발생할 수 있다.
오토 모드 도입으로 인해 기존 클러스터에 차질이 생기는 것을 막기 위해, 운영자가 명시적으로 새롭게 양식을 마이그레이션하도록 유도하는 것이다.
관련 문서
이름 | noteType | created |
---|---|---|
EKS Automode | knowledge | 2025-04-23 |
7W - EKS Automode | published | 2025-03-22 |